<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Alexa Auto SDK: com.amazon.aace.alexa.EqualizerController Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="aace-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Alexa Auto SDK
   &#160;<span id="projectnumber">2.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>com</b></li><li class="navelem"><b>amazon</b></li><li class="navelem"><b>aace</b></li><li class="navelem"><b>alexa</b></li><li class="navelem"><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html">EqualizerController</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">com.amazon.aace.alexa.EqualizerController Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="enumcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller_1_1_equalizer_band.html">EqualizerBand</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3acad44f203be8b5a06f426d0c9db7fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#a3acad44f203be8b5a06f426d0c9db7fd">setBandLevels</a> (EqualizerBandLevel[] bandLevels)</td></tr>
<tr class="separator:a3acad44f203be8b5a06f426d0c9db7fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8146f0ae36888847ce00ea09f82761dc"><td class="memItemLeft" align="right" valign="top">EqualizerBandLevel []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#a8146f0ae36888847ce00ea09f82761dc">getBandLevels</a> ()</td></tr>
<tr class="separator:a8146f0ae36888847ce00ea09f82761dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27bea1cb94c484fafbcace94f8f1453d"><td class="memItemLeft" align="right" valign="top">final void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#a27bea1cb94c484fafbcace94f8f1453d">localSetBandLevels</a> (EqualizerBandLevel[] bandLevels)</td></tr>
<tr class="separator:a27bea1cb94c484fafbcace94f8f1453d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac81e7032b16451fed430d24547e84a6c"><td class="memItemLeft" align="right" valign="top">final void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#ac81e7032b16451fed430d24547e84a6c">localAdjustBandLevels</a> (EqualizerBandLevel[] bandAdjustments)</td></tr>
<tr class="separator:ac81e7032b16451fed430d24547e84a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6b723e4097ab4e516b8cd54d0278540"><td class="memItemLeft" align="right" valign="top">final void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#ab6b723e4097ab4e516b8cd54d0278540">localResetBands</a> (<a class="el" href="enumcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller_1_1_equalizer_band.html">EqualizerBand</a>[] bands)</td></tr>
<tr class="separator:ab6b723e4097ab4e516b8cd54d0278540"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f9bd9ff880fb67cb3238f0e336d1024"><td class="memItemLeft" align="right" valign="top">final void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#a8f9bd9ff880fb67cb3238f0e336d1024">localResetBands</a> ()</td></tr>
<tr class="separator:a8f9bd9ff880fb67cb3238f0e336d1024"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html">EqualizerController</a> should be extended to use Alexa to control device equalizer settings. It supports adjusting levels of amplitude gain in decibels (dB) for a 3-band equalizer with a 1dB level of precision.</p>
<p>In addition to performing the audio equalization, the platform implementation is also responsible for the following: </p><ul>
<li>Mapping the provided equalizer bands to frequency ranges. </li>
<li>Scaling values as absolute levels of amplitude gain in integer dB to the platform's internal range. </li>
<li>Mapping the provided bands to a different number of platform-specific target bands, if necessary. </li>
<li>Applying equalization to only selected portions of the audio output. Alexa speech, alarms, etc. may not be affected. </li>
<li>Persisting level settings across restart/power cycle.</li>
</ul>
<p>Device equalizer settings are configurable. See <code><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1config_1_1_alexa_configuration.html#a1658a973095541d26d06ce451654bb21">com.amazon.aace.alexa.config.AlexaConfiguration.createEqualizerControllerConfig</a></code> for details on configuring supported bands, default state, and supported decibel ranges. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a3acad44f203be8b5a06f426d0c9db7fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3acad44f203be8b5a06f426d0c9db7fd">&#9670;&nbsp;</a></span>setBandLevels()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void com.amazon.aace.alexa.EqualizerController.setBandLevels </td>
          <td>(</td>
          <td class="paramtype">EqualizerBandLevel []&#160;</td>
          <td class="paramname"><em>bandLevels</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Notifies the platform implementation to apply the provided gain settings to the corresponding equalizer bands.</p>
<dl class="section note"><dt>Note</dt><dd>Calling <code><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#a27bea1cb94c484fafbcace94f8f1453d">EqualizerController.localSetBandLevels</a></code>, <code><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#ac81e7032b16451fed430d24547e84a6c">EqualizerController.localAdjustBandLevels</a></code>, or <code><a class="el" href="classcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller.html#ab6b723e4097ab4e516b8cd54d0278540">EqualizerController.localResetBands</a></code> from inside this function will cause deadlock.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bandLevels</td><td>The equalizer bands and their gain settings to apply as integer dB values. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8146f0ae36888847ce00ea09f82761dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8146f0ae36888847ce00ea09f82761dc">&#9670;&nbsp;</a></span>getBandLevels()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EqualizerBandLevel [] com.amazon.aace.alexa.EqualizerController.getBandLevels </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieves the current equalizer gain settings on the device for each supported band. If unsupported band levels are provided, the Engine will truncate levels to the configured range.</p>
<dl class="section return"><dt>Returns</dt><dd>An array of the supported equalizer bands and their current gain settings as integer dB values. </dd></dl>

</div>
</div>
<a id="a27bea1cb94c484fafbcace94f8f1453d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27bea1cb94c484fafbcace94f8f1453d">&#9670;&nbsp;</a></span>localSetBandLevels()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">final void com.amazon.aace.alexa.EqualizerController.localSetBandLevels </td>
          <td>(</td>
          <td class="paramtype">EqualizerBandLevel []&#160;</td>
          <td class="paramname"><em>bandLevels</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Notifies the Engine that gain levels for one or more equalizer bands are being set directly on the device. If unsupported levels are provided, the Engine will truncate the settings to the configured range.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bandLevels</td><td>The equalizer bands to change and their gain settings as integer dB values. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac81e7032b16451fed430d24547e84a6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac81e7032b16451fed430d24547e84a6c">&#9670;&nbsp;</a></span>localAdjustBandLevels()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">final void com.amazon.aace.alexa.EqualizerController.localAdjustBandLevels </td>
          <td>(</td>
          <td class="paramtype">EqualizerBandLevel []&#160;</td>
          <td class="paramname"><em>bandAdjustments</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Notifies the Engine that relative adjustments to equalizer band gain levels are being made directly on the device. If adjustments put the band level settings beyond the configured dB range, the Engine will truncate the settings to the configured range.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bandAdjustments</td><td>The equalizer bands to adjust and their relative gain adjustments as integer dB values. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ab6b723e4097ab4e516b8cd54d0278540"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6b723e4097ab4e516b8cd54d0278540">&#9670;&nbsp;</a></span>localResetBands() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">final void com.amazon.aace.alexa.EqualizerController.localResetBands </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="enumcom_1_1amazon_1_1aace_1_1alexa_1_1_equalizer_controller_1_1_equalizer_band.html">EqualizerBand</a> []&#160;</td>
          <td class="paramname"><em>bands</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Notifies the Engine that the gain levels for the specified equalizer bands are being reset to their defaults.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bands</td><td>The equalizer bands to reset. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8f9bd9ff880fb67cb3238f0e336d1024"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f9bd9ff880fb67cb3238f0e336d1024">&#9670;&nbsp;</a></span>localResetBands() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">final void com.amazon.aace.alexa.EqualizerController.localResetBands </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Notifies the Engine that the gain levels for all equalizer bands are being reset to their defaults. </p>

</div>
</div>
</div><!-- contents -->
<html>
  <body>
    <hr style="height:1px;border-width:0;color:gray;background-color:gray">
    <p style="text-align:left;">
      Alexa Auto SDK 2.2.0 - Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
      <span style="float:right;">
        Licensed under the <a HREF=http://aws.amazon.com/apache2.0/>Apache License, Version 2.0</a>
      </span>
    </p>
  </body>
</html>
